if this is "Buttons" then go to card "the button breeder"
else if this is "Cover" then go to card "the stack starter"
else if this is "Controls" then go to card "the controls cultivator"
else if this is "Crash" then crash
else if this is "Effects" then go to card "the effects editor"
else if this is "Fields" then go to card "the field fabricater"
else if this is "Gauges" then go to card "Gauges"
else if this is "HyperEdit" then answer "Please, press the return Key and the shift Key"
else if this is "HyperSound‚Ñ¢" then go to stack "HyperSound"
else if this is "Icons" then go to card "the icon initiator"
else if this is "Info" then info
else if this is "Map" then go to card "the master map"
else if this is "OverLoad" then overLoad
else if this is "Panic" then panic
else if this is "Pause" then pause
else if this is "ResCopy" then ResCopy
else if this is "ResEdit" then open "ResEdit 1.1B3"
else if this is "Script of Bkgnd..." then bkgndScript
else if this is "Script of Button..." then btnScript
else if this is "Script of Card..." then cardScript
else if this is "Script of Field..." then fieldScript
else if this is "Script of Stack..." then stackScript
else if this is "Script of Home" then HomeScript
else if this is "Scripts" then answer "Sorry, This feature not yet supported"
else if this is "SoundEdit‚Ñ¢" then open SoundEdit
else if this is "Sounds" then go to card "the sound sampler"
else if this is "Tools" then go to card "the allover analyzer"
else if this is "Open Stack..." then
answer "Are you leaving this stack for good?" with "Yes" or "No" or "Cancel"
if it is "No" then pass doMenu
else if it is "Yes" then
egress
pass doMenu
end if
else if this is "Quit HyperCard" then
answer "Quit HyperCard or Shutdown the Mac?" with "Restart" or "Shutdown" or "Quit"
egress
if it is "Restart" then
doRestart
exit doMenu
else if it is "Shutdown" then shutdown
else
pass doMenu
exit doMenu
end if
else pass doMenu
hide msg
end doMenu
on idle
global menu1, menu2, lastTick
--set userLevel to 5
if (the ticks-lastTick)>120 then
put the ticks into lastTick
ShowMenu menu1
ShowMenu menu2
end if
pass idle
end idle
on startUp
global CheckUp, SaveLevel, Start, UserLevel
put the userLevel into SaveLevel
set userLevel to 5
set powerKeys to true
SetVolume(7)
hideSome
if CheckUp <> empty then exit startUp
hide menubar
hide btn id 6
getSpecsFirst
unlock
set hilite of btn id 2 to true
put 1 into CheckUp
unlock
set the cursor to 4
freeSpace
set hilite of btn id 2 to false
makeMenus
set hilite of btn id 2 to true
StartDown
show btn id 6
put empty into card field "Specs"
if the optionKey <> down then intro
visual effect dissolve
go card 11
show menuBar
set cursor to 4
lockcard
push card
get id of this bkgnd
put "Looking for all the FONTS available to this stack."
if it <> "2295" then go to bkgnd id 2295
put Resources("FOND") into field "fontField"
put SortLines( field "fontField", "A" ) into field "fontField"
put crunch( field "fontField") into field "fontField"
set script of field "fontField" to field "fontField"
put "Looking for all the SOUNDS available to this stack."
put Resources("snd ") into field "sndField"
repeat with i = 1 to number of lines of field "sndField"
put LowerToUpper(char 1 of line i of field "sndField") into char 1 of line i of field "sndField"
end repeat
put SortLines( field "sndField", "A" ) into field "sndField"
put "Found them."
put crunch( field "sndField") into field "sndField"
set script of field "sndField" to field "sndField"
unlock
hide msg
pop card
idle
end startUp
on resume
set userLevel to 5
set the cursor to 4
makeMenus
getWithIt
idle
end resume
on openStack
global CheckUp
if CheckUp <> empty then exit openStack
get short name of card
if it is "First" then startup
else resume
end openStack
on closeStack
global CheckUp
put empty into CheckUp
closing
pass closeStack
end closeStack
on suspend
global CheckUp
put empty into CheckUp
closing
pass suspend
end suspend
on author
lockcard
go card "the stack starter"
send mouseUp to btn "Ego"
end author
on backToChicago
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send backToChicago to field "BS"
pop card
end backToChicago
on bkgndScript
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send bkgndScript to field "BS"
pop card
end bkgndScript
on btnScript
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send btnScript to field "BS"
pop card
end btnScript
on bomb
put the name of target into temp
put 3 into count
repeat with i = 4210 to 4214
play count
wait until the sound is "done"
wait 10
set icon of temp to i
if count = 0 then Flash 2
subtract 1 from count
end repeat
end bomb
on Bye
repeat 2
set icon of Card btn "Bye" to 4019
set icon of Card btn "Bye"to 4018
end repeat
end Bye
on cardScript
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send cardScript to field "BS"
pop card
end cardScript
on changeFont
global TargetEnter
answer "Point to btn whose FONT you wish to change." with "Cancel" or "OK"
if it is "Cancel" then exit changeFont
put 1 into TargetEnter
end changeFont
on changeFont1
global TargetEnter, NewBtn, NewBtnN
if word 2 of NewBtn is "Button" then
ask "This Button needs a name." with "Please, type name here."
if it is empty then exit changeFont1
set name of NewBtnN to it
put it after word 1 to 2 of NewBtnN
put it into NewBtn
end if
answer "Change font of " & NewBtnN with "Quit" or "Not This Btn" or "OK"
if it is "Not This Btn" then exit changeFont1
put empty into TargetEnter
hide msg
if it is "Quit" then exit changeFont1
iconCheck
end changeFont1
on closeCard
global Start
add 1 to Start
pass closeCard
end closeCard
on closing
global SaveLevel, menu1, menu2
hideSome
put DeleteMenu(menu1) into menu1
put DeleteMenu(menu2) into menu2
end closing
on crash
push card
lockcard
go to first card
repeat with i = 6 down to 2
hide btn id i
end repeat
hideAll
set icon of btn id 1 to 4214
unlockcard
send mouseUp to btn id 1
lockcard
repeat with i = 2 to 6
show btn id i
end repeat
pop card
show menuBar
end Crash
on credits
go card "the stack starter"
send mouseUp to btn "Credits"
end credits
on curse
play "Yeow"
set icon of btn "Ninja" to 4160
set icon of btn "Ninja" to 4161
play "Crunch"
set the cursor to -1
set icon of btn "Ninja" to 4137
play "Evil Laugh"
wait 5 secs
end curse
on cursors
put "Click the mouse to select cursor."
put empty into cursorid
repeat with i = 0 to 88
set cursor to i
wait 10
if the mouseClick is true then exit repeat
wait for 20 ticks
if cursorid is 89 then exit cursors
end repeat
subtract 1 from i
put "Set the cursor to" && i
do msg
wait 5 secs
end cursors
on dedications
go card "the stack starter"
send mouseUp to btn "dedications"
end dedications
on deleteButton
global BypassBtnMsg, DontAsk
if DontAsk is empty then
answer "Do you REALLY want to delete that button?" with "Don't Ask" or "Cancel" or "Yes"
if it is "Don't Ask" then put it into DontAsk
else if it is "Cancel" then
put BypassBtnMsg into temp
put "something" into BypassBtnMsg
doMenu "Copy Button"
doMenu "Paste Button"
put temp into BypassBtnMsg
else pass deleteButton
end if
end deleteButton
on deleteField
global StopAsk, BypassFieldMsg
if StopAsk is empty then
answer "Do you Really want to delete that button?" with "Don't Ask" or "Cancel" or "Yes"
if it is "Don't Ask" then put it into StopAsk
else if it is "Cancel" then
put BypassFieldMsg into temp
put "something" into BypassFieldMsg
doMenu "Copy Field"
doMenu "Paste Field"
put temp into BypassFieldMsg
else pass deleteField
end if
end deleteField
on deprotect1
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send deprotect1 to field "BS"
pop card
end deprotect1
on diskSpaceAvail
put the diskSpace / 1024 && "K available on this disk"
wait 120
hide msg
end diskSpaceAvail
on egress
global SaveLevel
hideSome
goodbye
lockcard
if the short name of this stack contains "Stack Starter" then
getready
exit egress
else put "It's a good idea to show the date or revision number"
answer " Would you like to modify stack name?" with "Yes" or "No"
if it is "No" then
hide msg
getready
exit egress
else if it is "Yes" then
ask "Modify stack name" && quote & the short name of this stack & quote && "to...?" with the short name of this stack && bkgnd btn "Date"
put it into temp
set name of this stack to (temp)
end if
hide msg
set userLevel to SaveLevel
getready
end egress
on enterKey -- Toggle Tools With Enter Key
if the tool = "Browse Tool"
then
if the optionkey is down
then choose field tool
else choose button tool
else
if the tool = "Button Tool"
then
if the optionkey is down then choose browse tool
else choose Field Tool
else
if the tool = "Field Tool"
then
if the optionkey is down
then choose button tool
else choose Browse tool
else
choose Browse tool
end if
end if
end if
end EnterKey
on Eye this
if this is "Blink" then set icon of btn "Eye" to 4038
else if this is "C" then set icon of btn "Eye" to 4033
else if this is "D" then set icon of btn "Eye" to 4037
else if this is "L" then set icon of btn "Eye" to 4034
else if this is "R" then set icon of btn "Eye" to 4036
else if this is "U" then set icon of btn "Eye" to 4035
end Eye
on fieldScript
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send fieldScript to field "BS"
pop card
end fieldScript
on freeSpace
set the numberFormat to "0.00"
put (the freeSize of this stack/ 1024) && "K" into FS
put FS && " of free space left over from deleting objects in" && the short name of this stack
if FS is "0.00 K" then
else if the diskSpace < 805000 then
put "Not enough space on this disk to compact"
else
answer "Would you like to compact away this" && FS & "?" with "No" or "Yes"
if it is "Yes" then
put "Reclaiming" && FS && "of free space for you to use."
doMenu "Compact Stack"
beep 2
put (the freeSize of this stack/ 1024) && "K" into FS
put FS && " of free space in" && the short name of this stack
end if
end if
wait 2 secs
hide msg
send mouseUp to field "FreeSpaceMon2"
end freeSpace
on FreeSpaceMon
lockcard
set visible of field "FreeSpaceMon1" to not visible of field "FreeSpaceMon1"
if visible of field "FreeSpaceMon1" is true then
put "Free Space:" into field "FreeSpaceMon1"
show field "FreeSpaceMon2"
show bkgnd btn "FreeSpaceMon"
set hilite of bkgnd btn "FreeSpaceMon" to true
FreeSpaceMon1
else
hide field "FreeSpaceMon2"
hide bkgnd btn "FreeSpaceMon"
end if
end FreeSpaceMon
on FreeSpaceMon1
set the numberFormat to "0.00"
put (the freeSize of this stack/1024) && "K" into field "FreeSpaceMon2"
end FreeSpaceMon1
on getready
lock
repeat with i = 3 to 6
hide btn id i
end repeat
end getready
on getSpecs
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send getSpecs to field "BS"
pop card
end getSpecs
on getSpecsFirst
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send getSpecsFirst to field "BS"
pop card
end getSpecsFirst
on getWithIt
lockcard
get the time
answer "The time is " & it
choose select tool
choose browse tool
end getWithIt
on goodbye
set lockMessages to True
go to first card
repeat with i = 3 to 5
show btn id i
end repeat
hide btn id 6
send mouseUp to btn id 4
show btn id 6
end goodbye
on heapSpaceAvail
put the heapSpace / 1024 && "K is remains currently available in application heapspace."
wait 120
hide msg
end heapSpaceAvail
on help
egress
closeStack
pass help
end help
on hideall
hide menuBar
hide msg
hide tool window
hide pattern window
end hideall
on hideSome
hide msg
hide tool window
hide pattern window
end hideSome
on home
egress
closeStack
pass home
end home
on homeScript
set cursor to 4
lockcard
edit script of stack "Home"
pop card
end homeScript
on HyperCardVersion
get the version
if it is "1.0" then
put "1.01" into it
end if
put "The HyperCard version you are currently using is" && it
wait 2 secs
hide msg
end HyperCardVersion
on HyperEditOn
global hyperedittemp, DontAsk, StopAsk, BypassBtnMsg, BypassFieldMsg
put 1 into BypassBtnMsg
put 1 into BypassFieldMsg
put 1 into DontAsk
put 1 into StopAsk
end HyperEditOn
on HyperEditOff
global hyperedittemp, DontAsk, StopAsk, BypassBtnMsg, BypassFieldMsg
lockcard
put empty into BypassBtnMsg
put empty into BypassFieldMsg
put empty into DontAsk
put empty into StopAsk
end HyperEditOff
on index
put the name of target into temp -- because btns are bkgnd & card
repeat with iconid = 4178 to 4179
set icon of temp to iconid
play "Click"
end repeat
go to card id 12388
end index
on iconCheck
global NewBtn, NewBtnN
get icon of NewBtnN
if it <> 0 then
answer "You can't change fonts on a btn with an icon." with "Remove Icon" or "Cancel"
if it is "Cancel" then exit iconCheck
else
if it is "Remove Icon" then set icon of NewBtnN to 0
end if
end if
set showName of NewBtnN to true
lockcard
put textAlign of btn NewBtnN into newAlign
put textFont of btn NewBtnN into newFont
put textHeight of btn NewBtnN into newHeight
put textSize of btn NewBtnN into newSize
put textStyle of btn NewBtnN into newStyle
if hilite of btn NewBtnN is true then
put "true" into hiliteCheck
else put "false" into hiliteCheck
--put style of NewBtnN into newStyle2
push card
go to card "The Button Font Changer"
set name of btn id 20 to NewBtn
set textAlign of btn id 20 to newAlign
set textFont of btn id 20 to newFont
set textHeight of btn id 20 to newHeight
set textSize of btn id 20 to newSize
set textStyle of btn id 20 to newStyle
set hilite of btn id 20 to hiliteCheck
--set style of btn id 20 to newStyle2
end iconCheck
on info
put word 1 to 2 of name of the target && the id of target into temp
if icon of temp <> 0 then
repeat with iconid = 4180 to 4188
set icon of temp to iconid
end repeat
end if
answer "Sorry, but this feature not yet supported."
end info
on installHomeCardIcon
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send installHomeCardIcon to field "BS"
pop card
end installHomeCardIcon
on intro
global Break
hideall
set lockRecent to True
set lockMessages to True
go to first card
show btn id 6
repeat with i = 2 to 8
if i is 2 then visual scroll down
else if i is 3 then visual dissolve slow
else if i is 4 then visual wipe down slow
else if i is 5 then visual barn door open slow
else if i is 6 then visual barn door close slow
else if i is 7 then visual wipe right slow
else if i is 8 then visual wipe left slow
go to card i
introInterupt
if Break <> empty then exit intro
end repeat
go to ninth card
play "Click"
wait until the sound is "done"
go to tenth card
play "Click"
wait until the sound is "done"
go to ninth card
play "Click"
wait until the sound is "done"
introInterupt
if Break <> empty then exit intro
repeat with i = 1 to 8
if i is 1 then
visual dissolve slow
go to eighth card
else if i is 2 then
visual venetian blinds
go to sixth card
else if i is 3 then
visual dissolve slow
go to first card
end if
introInterupt
if Break <> empty then exit intro
end repeat
end intro
on introInterupt
global introComplete, Break
if the mouseClick is true then
if introComplete is empty then
put "card" && quote & "the stack starter" & quote into introComplete
end if
set lockMessages to false
visual dissolve slow to black
visual dissolve slow
go to introComplete
show menubar
put 1 into Break
end if
end introInterupt
on LNPC
lock
set visible of bkgnd btn id 72 to not visible of bkgnd btn id 72
if visible of bkgnd btn id 72 is true then
show bkgnd btn id 73
show field id 78
show field id 79
else
hide bkgnd btn id 73
hide field id 78
hide field id 79
end if
end LNPC
on lock
set lockscreen to true
end lock
on lockcard
set lockscreen to true
set lockmessages to true
set lockrecent to true
end lockcard
on makeMenus
global menu1, menu2
put NewMenu("Editors","Script of Button...","Script of Field..." ,"Script of Card...","Script of Bkgnd...","Script of Stack..." ,"Script of Home","-","DeProtect Stack","HyperEdit","HyperSound‚Ñ¢" ,"ResCopy","ResEdit","SoundEdit‚Ñ¢")into menu1
put NewMenu("Misc.","Crash","OverLoad","Panic","Pause")into menu2
end makeMenus
on mouseEnter
global TargetEnter, NewBtn, NewBtnid, NewBtnN
if TargetEnter <> empty then
wait 40
put the short name of the target into NewBtn
put the target into NewBtnN
put the id of the target into NewBtnid
put "Change font of " & NewBtnN
if word 2 of NewBtnN <> "Button" then exit mouseEnter
changeFont1
else pass mouseEnter
end mouseEnter
on mouseLocation
lockcard
set visible of field "Mouse Loc1" to not visible of field "Mouse Loc1"
if visible of field "Mouse Loc1" is true then
put "Mouse Location:" into field "Mouse Loc1"
show field "Mouse Loc2"
show bkgnd btn "Mouse Loc"
set hilite of bkgnd btn "Mouse Loc" to true
else
hide field "Mouse Loc2"
hide bkgnd btn "Mouse Loc"
end if
end mouseLocation
on mouseUp
global ActiveField
hide msg
put empty into ActiveField
if visible of field "FreeSpaceMon1" is true then FreeSpaceMon1
pass mouseUp
end mouseUp
-- Gesture by Ted Kaehler
on mouseStillDown
-- Edit the script of a button if you
-- press and hold the mouse button inside the button, and quickly
-- move in and out of the top edge of the button twice.
if "button" is not in the name of the target then exit mouseStillDown
global editTicks, editState
if (the ticks)-editTicks > 120 then
put the ticks into editTicks
put 0 into editState
else
if word 2 of the name of the target <> "button" then exit mouseStillDown
get the rect of the target
if the rect of the target is empty then exit mouseStillDown
if the mouseV < (item 2 of it) then
if editState = 0 then put 1 into editState
if editState = 2 then put 3 into editState
end if
if the mouseV > (item 2 of it) then
if editState = 1 then put 2 into editState
if editState = 3 then put 4 into editState
end if
end if
--put editState
if editState = 4 then edit script of the name of the target
end mouseStillDown
function LineClicked
return (trunc((the scroll of the target / the textHeight of the target) + (((the mouseV - item 2 of the rect of the target) div the textHeight of the target) +1)))
end LineClicked
on newbutton
global BypassBtnMsg, NewBtn, NewBtnId, NewBtnN
if BypassBtnMsg is empty then
ask "How far forward should this button be?" with (the number of the target)
if it > the number of the target then
ask "The number must be equal or lower than" with (the number of the target)
end if
if it is empty then put (the number of the target) into it
put it into newnum
set the cursor to 4
lockcard
if newnum < the number of the target then
repeat until the number of the target is newnum
type "-" with commandkey --- or, domenu "Send farther"
end repeat
end if
if the optionkey is up and the commandKey is down then
put the target into NewBtnN
set autoHilite of NewBtnN to true
set style of NewBtnN to rectangle
doMenu "Button Info..."
put the short name of NewBtnN into NewBtn
put the name of NewBtnN into NewBtnN
put word 1 of NewBtnN && "btn id" && id of NewBtnN into NewBtnId
choose browse tool
changeFont1
end if
end if
end newbutton
on newfield
global BypassFieldMsg
if BypassFieldMsg is empty then
ask "How far forward should this field be?" with (the number of the target)
if it > the number of the target then
ask "The number must be equal or lower than" with (the number of the target)
end if
if it is empty then put (the number of the target) into it
put it into newnum
set the cursor to 4
lockcard
if newnum < the number of the target then
repeat until the number of the target is newnum
type "-" with commandkey --- or, domenu "Send farther"
end repeat
end if
if the commandkey is down and the optionkey is up then
set the style of the target to rectangle
domenu field info...
end if
end if
end newfield
on Ninja what
if what is "Blink" then set icon of btn "Ninja" to 4145
else if what is "C" then set icon of btn "Ninja" to 4137
else if what is "D" then set icon of btn "Ninja" to 4141
else if what is "L" then set icon of btn "Ninja" to 4138
else if what is "R" then set icon of btn "Ninja" to 4140
else if what is "U" then set icon of btn "Ninja" to 4139
else if what is "winkR" then
set icon of btn "Ninja" to 4143
curse
else if what is "winkL" then
set icon of btn "Ninja" to 4144
curse
end if
end Ninja
on openApl
ask "Open what non-HyperCard document?" with "Type name of document to be opened here"
if it is empty then exit openApl
put it into doc
ask "What application does this document require" with "Type the name of the program here."
if it is empty then exit openApl
put it into apl
open doc with apl
end openApl
on openCard
hideSome
push card
if the userlevel < 5 then set the userlevel to 5
pass openCard
end openCard
on openField
global ActiveField
put name of target into ActiveField
end openField
on closeField
global ActiveField
put empty into ActiveField
end closeField
on overLoad
play "Static"
hide menuBar
push card
visual dissolve to black
play "Static"
wait until the sound is "done"
go to first card
beep
Answer "Stack Overload! Erase Current Disk?" with "Yes" or "No" or "Cancel"
if it <> "Yes" then answer " Too Late." with Sorry
play "Evil Laugh"
answer " Just kidding."
visual dissolve to black
pop card
show menuBar
end overLoad
on panic
set lockMessages to true
hideAll
set lockRecent to true
go to card "Panic Spredsheet"
wait until the mouseClick
pop card
show menuBar
end panic
on pause
global Break, introComplete
put empty into Break
put id of this card into introComplete
repeat until the mouseClick
if Break <> empty then exit pause
Intro
end repeat
set lockMessages to false
visual effect dissolve slow
go introComplete
show menubar
end pause
on piGrid
set visible of bkgnd btn "Grid Cover" to not visible of bkgnd btn "Grid Cover"
end piGrid
on scroll this
if this is "D" then
visual scroll down very fast to gray
visual scroll down very fast
else if this is "L" then
visual scroll left very fast to gray
visual scroll left very fast
else if this is "R" then
visual scroll right very fast to gray
visual scroll right very fast
else if this is "U" then
visual scroll up very fast to gray
visual scroll up very fast
end if
end scroll
on ShowHiddenBtns
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send ShowHiddenBtns to field "BS"
pop card
end ShowHiddenBtns
on ShowHiddenFields
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send ShowHiddenFields to field "BS"
pop card
end ShowHiddenFields
on SizeofStack
answer "Sorry, but this feature is not available yet."
-- set the numberFormat to "0.00"
-- get the size of this stack
-- put it / 1024 && "K" into SS
-- answer "The size of this stack is" && SS
end SizeofStack
on skull
put the name of target into temp
put 0 into count
repeat 3
if count < 2 then play "Evil Laugh"
set icon of temp to 4114
set icon of temp to 4113
add 1 to count
end repeat
end skull
on stackScript
put filename("STAK") into fname
if fname is empty then exit stackScript
push card
set cursor to 4
lockcard
edit script of stack fname
pop card
end stackScript
on stackSpaceAvail
put the stackSpace / 1024 && "K remains available in the Macintosh operating system stack."
wait 120
hide msg
end stackSpaceAvail
on StartDown
if the short name of this stack contains "Stack Starter" then
answer "Be safe, work with a copy of this stack." with "Just Looking" or "OK Copy It"
if it is "OK Copy It" then
doMenu "Save a Copy..."
end if
end if
show btn id 6
end StartDown
on OsErr err
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send OsErr to field "BS"
pop card
end OsErr
on test
--global Start
-- Use this as a scripting interrupt, and have it display
--status messages, global and container contents, etc...
answer "This is a test" --&& Start && "cards closed"
end test
on timeDate
put the time && the long date
wait 2 secs
hide msg
end timeDate
on updated
lockcard
push card
get id of this bkgnd
if it <> "2295" then go to bkgnd id 2295
send updated to field "BS"
pop card
end updated
on unlock
set lockscreen to false
end unlock
on unlockcard
set lockscreen to false
set lockmessages to false
set lockrecent to false
end unlockcard
on getLinNum
global LN, LNS
put textHeight of the target into lineHght
if wideMargins of target is true then
put lineHght/3 into WM
else put 0 into WM
put (((item 2 of the clickLoc)-(item 2 of the rect of target+ WM)) /lineHght)+1 into A
put trunc(A) into LN
put (the scroll of the target / lineHght) into B
--if E > number of lines of target then put "0" into E
put trunc(A + B) into LNS
end getLinNum
on returnkey
if the shiftkey is down and the optionkey is down then